'use strict';
// 获取数据库的引用
const db = uniCloud.database()
const $ = db.command.aggregate
exports.main = async (event, context) => {
	
	const {
		user_id,
		page = 1,
		pageSize = 10
	} = event
	
	let userinfo = await db.collection('users').doc(user_id).get()
	userinfo = userinfo.data[0]
	
	// 聚合： 更精细化的处理数据，例如：求和、分组、指定字段
	const list = await db.collection('list')
	.aggregate()
	// 追加字段
	.addFields({
		is_like: $.in(['$_id', userinfo.likes_ids])
	})
	.project({
		// true 表示返回type这个字段，否则不返回 ( 与 .field() 类似 )
		type:false
	})
	.match({
		is_like: true
	})
	// 跳过多少条数据(分页)
	.skip(pageSize*(page-1))
	.limit(pageSize)
	.end()
	
	// 返回数据给客户端
	return {
		code: 200,
		message: "数据请求成功",
		data: list.data
	}
};
